/*
 * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
 *
 * You may not modify, use, reproduce, or distribute this software
 * except in compliance with the terms of the license at:
 * http://developer.sun.com/berkeley_license.html
 *
 * author: tgiunipero
 * description: Style rules for the AffableBean application
 */


/* html tags */
body {
    font-family: Arial, Helvetica, sans-serif;
    width: 850px;
    text-align: center;
    margin: 20px auto;
    color: #444;
}

hr {
    border: 0;
    background-color: #333;
    height: 1px;
}

table {
    margin: 0 20px;
    border-spacing: 0;
    text-align: center;
    border: solid 1px #f5eabe;
}

a {
    color: inherit;
    text-decoration: underline;
}

a:hover { text-decoration: none }

a:visited { color: inherit }

img { border: none }

input, select { margin: 5px }

li { margin: 10px 0 }

label { line-height: 30px }

label.error {
    font-size: smaller;
    line-height: 20px;
    font-style: italic;
}


/* general styles */
#main { background: #f7f7e9 }

#singleColumn {
    margin: 20px 30px;
    text-align: left;
}

.lightBlue { background-color: #edf8f7 }

.white { background-color: #fff }

.bubble {
    font-weight: bold;
    background-color: #f5eabe;
    padding: 5px;
    color: inherit;
    display: inline;
    border-radius: 4px;
}

.hMargin { margin: 0 30px }

.smallText { font-size: small }

.reallySmallText { font-size: xx-small }

.header {
    background-color: #c3e3e0;
    height: 30px;
}

.error {
    color: #c00;
    font-style: italic;
}

.tableHeading {
    font-weight: bold;
    background-color: #edf8f7;
}


/* styles for elements contained in the header, i.e.,
   shopping cart widget, language toggle, and logo */
#header {
    width: 850px;
    height: 250px;
    background: url(../img/stalk.png) no-repeat 28px 28px;
}

#logo {
    float: left;
    margin-left: 30px;
    margin-top: -20px;
}

#logoText {
    float: left;
    margin: 20px 0 0 70px;
    /* font styles apply to text within img alt attribute */
    font-family: 'American Typewriter', Courier, monospace;
    font-size: 50px;
    color: #333;
}

#widgetBar {
    height: 50px;
    width: 850px;
    float: right;
}

#cart {
    position: absolute;
    margin: 5px 0 0 2px;
}

.horizontalMargin {
    margin-left: 28px;
    margin-right: 5px
}

#viewCart {
    text-align: left;
    width: 210px;
}

.headerWidget {
    width: 194px;
    margin: 20px 0;
    font-size: small;
    float: right;
    line-height: 25px;
}


/* footer styles */
#footer {
    height: 60px;
    width: 350px;
    clear: left;
}

#footerText { margin-top: 5px }

#footerDivider {
    margin: 0 25px;
    width: 300px;
}


/* index page styles */
#indexLeftColumn {
    text-align: left;
    height: 400px;
    width: 350px;
    float: left;
}

#indexRightColumn {
    text-align: left;
    height: 400px;
    width: 500px;
    float: left;
}

#welcomeText {
    margin: 30px 5px 0 30px;
    line-height: 1.4em;
}

.categoryBox {
    height: 176px;
    width: 212px;
    margin: 21px 14px 6px;
    float: inherit;
}

/* Safari - disables underline for category boxes on index page */
.categoryBox a { text-decoration: none }

.categoryLabel {
    position: absolute;
    background-color: #fff;
    opacity: 0.7;
    height: 40px;
    width: 210px;
    margin: 2px;
}

.categoryLabelText {
    position: absolute;
    line-height: 150%;
    font-size: x-large;
    margin: 3px 10px;
}

.categoryImage {
    padding: 1px;
    border:solid 1px #555;
}


/* category page styles */
#categoryLeftColumn {
    width: 185px;
    float: left;
    margin-top: 25px;
    padding-left: 15px;
}

#categoryRightColumn {
    margin-top: 10px;
    width: 650px;
    float: left;
}

.categoryButton {
    margin: 15px 22px;
    padding: 13px;
    display: block;
    background-color: #d3ede8;
    border-radius: 4px;
}

#selectedCategory {
    background-color: #b2d2d2;
    margin-left: 10px;
    width: 139px;
}

#categoryTitle {
    margin-top: -40px;
    right: 385px;
    font-size: x-large;
    position: absolute;
    background-color: #f5eabe;
    padding: 7px;
    border-radius: 4px;
}

.categoryText {
    line-height: 25px;
    font-size: x-large;
}

#productTable {
    width: 600px;

    /* styles to collaborate with rounded categoryLabel */
    position: relative;
    z-index: 1;
}

#productTable tr { height: 90px }

#productTable td { width: 145px }


/* cart page styles */
#actionBar {
    margin: 30px;
    width: 750px;
    text-align: center;
}

#subtotal { margin: 40px 0 20px 430px }

#cartTable { width: 750px }

#cartTable td {
    width: 145px;
    height: 90px;
}


/* checkout page styles */
#checkoutTable {
    width: 405px;
    padding: 10px;
    background-color: #f5eabe;
    float: left;
    border-radius: 4px;
}

#checkoutTable td {
    vertical-align: top;
    text-align: right;
    margin: 5px;
}

.inputField { width: 190px }

#infoBox { padding: 10px 25px 0 460px }

#priceBox {
    padding: 10px;
    border: 1px solid #c3e3e0;
    background-color: #c3e3e0;
    border-radius: 4px;
}

#priceBox td {
    text-align: right;
    padding: 5px;
}

.checkoutPriceColumn {
    width: 80px;
    font-weight: bold;
}

.total { border-top: 1px solid #444 }

.indent { margin-left: 6em }


/* confirmation page styles */
#confirmationText {
    margin: 0 20px 20px;
    padding: 10px;
    background-color: #f5eabe;
    float: left;
    border-radius: 4px;
}

.summaryColumn {
    margin-top: 15px;
    width: 50%;
    float: left;
}

.detailsTable { text-align: left }

.detailsTable th { padding: 5px 10px }

.detailsTable td {
    padding: 5px 10px 5px 20px;
    font-size: small;
    font-family: "Courier New", courier, monospace;
}

#orderSummaryTable { width: 100% }

#deliveryAddressTable {
    width: 70%;
    margin-left: 15%;
}

#deliveryAddressTable td {
    padding-top: 10px;
    padding-bottom: 10px;
}

.quantityColumn {
    text-align: center;
    width: 62px;
}

.confirmationPriceColumn {
    width: 90px;
    font-weight: normal;
}

#deliverySurchargeCellLeft {
    text-align: right;
    padding: 0;
}

#deliverySurchargeCellRight { padding: 0 20px }

#totalCellLeft {
    text-align: right;
    padding: 0;
}

#totalCellRight { padding: 0 20px }

#dateProcessedRow { padding: 2px 0 10px 20px }


/* admin styles */
#adminLogo {
    float:left;
    margin-left: 30px;
    margin-top: -20px;
}

#loginBox {
    width: 300px;
    margin: 0 auto;
    border: solid 1px #f5eabe;
    background-color: #f5eabe;
    border-radius: 4px;
}

#adminMenu {
    float: left;
    width: 180px;
    margin: 25px 5px 0 30px;
    border: solid 1px #f5eabe;
    background-color: #f5eabe;
    border-radius: 4px;
}

#adminMenu p { margin-left: 15px }

#adminTable {
    width: 580px;
    float: left;
    background-color: #edf8f7;
}

.alignLeft { text-align: left }

.selectedRow {
    background-color: #c3e3e0;
    cursor: pointer;
}

.noDecoration { text-decoration: none }

.rigidWidth { width:200px }

.embedded {
    margin: 0;
    border: none;
}